Label generation apparatus

ABSTRACT

The label generation apparatus of this invention enables the user to define a label of various sizes, shapes and characteristics, wherein each label in a series of labels includes unique indicia that individually identify each label according to any predefined sequence. These labels also contain template fields that vary according to the indicia printed thereon or any other predefined ordering. The label generation apparatus includes a template generation capability that enables the user to define a label format having one or more writable indicia fields. These one or more writable indicia fields can be used to provide each label with individual identifying indicia according to any predetermined sequence. The label generation apparatus also includes an indicia generation capability that produces the individual identification according to various characteristics that are specified by the user of this apparatus.

This application is a file wrapper continuation, of application Ser. No.08/489,250, filed on Jun. 14, 1995, which is a file wrapper continuationof application Ser. No. 07/797.457, filed Nov. 22, 1991.

FIELD OF THE INVENTION

This invention relates to the creation of labels and, in particular, toapparatus for generating a series of labels, each of which isindividually identified by certain unique indicia and template fieldsprinted thereon.

PROBLEM

It is a problem in the field of label making to inexpensively andefficiently produce labels that are individually identifiable. The artof label making can be classified into two categories. The firstcategory is the generation of a large number of identical labels, suchas that found on the vast majority of articles available for retailpurchase. The generation of these identical labels requires the creationof a permanent printing master which is repetitively used to generateidentical labels in large numbers. The second type of label generationis the creation of a number of printed labels or documents that containvarying indicia printed thereon, where the variation in indicia isaccording to a well defined and commonly used numbering scheme. Anexample of this is the printing of checks or bank drafts where theseries of checks are printed in sequential order according to a fixednumbering scheme. The generation of these printed documents requires thecreation of a permanent or semi-permanent printing master thatidentifies the depositor and the depositor's account number, whichinformation is printed on every check in the series. The varying indiciaare the check numbers in the series, and this indicia is obtained by theuse of a standard set of printing masters that are used for allsimilarly numbered checks printed by the bank. Thus, in thisapplication, only a small number of permanent printing masters arerequired to be able to print all checks for all depositors since thenumbering scheme typically runs from 100 to 9,999. In addition, thetemplate or background information on these labels is fixed for alllabels, regardless of the indicia printed thereon.

No where is there available apparatus for printing items witharbitrarily varying indicia according to any predetermined ordering aswell as arbitrarily varying template fields according to anypredetermined ordering. To accomplish this would require the generationof custom printing masters for each item that is to be printed. Toaccomplish this would require tremendous expense and is totallyimpractical using the printing systems that are presently available inthe printing art.

SUMMARY OF THE INVENTION

The above described problems are solved and a technical advance achievedin the field by the label generation apparatus of this invention. Thisapparatus enables the user to define a label of various sizes, shapesand characteristics, wherein each label in a series of labels includesboth unique indicia that individually identifies each label according toany predefined sequence and template fields that vary according to theindicia printed thereon or any other predefined ordering.

The label generation apparatus includes a template generation capabilitythat enables the user to define a label format having one or morewritable indicia fields. These one or more writable indicia fields canbe used to provide each label with individual identifying indiciaaccording to any predetermined sequence. The template itself containsone or more variable format fields, wherein the template itself variesas a function of the indicia printed thereon or as a function of anyother defined ordering. Thus, the indicia and template fields can bothvary from label to label.

The label generation apparatus also includes an indicia generationcapability that produces the individual identification according tovarious characteristics that are specified by the user of thisapparatus. The indicia can be alphanumeric characters, bar codes,colors, or any other writable indicia. The user of the label generationapparatus specifies the type of indicia or combinations of the abovelisted indicia that are to be printed on the individual labels.

The user also specifies the ordering to be used in the generation ofthis indicia. This ordering can be any arbitrarily selected sequence,for example: indicia sequentially numbered according to any numberingsystem such as binary, decimal, hexidecimal; indicia ordered accordingto a series such as odd numbers, even numbers; indicia arbitrarilymatched to a data file, such as printing a label for each employeeaccording to their social security number; mixed mode indicia, such asprinting one hundred sequentially numbered labels for each department ina corporate organization; or any other conceivable indicia ordering thatis desired by the user. Once the scheme of ordering the indicia and thestarting and ending indicia are defined by the user, the indiciageneration apparatus generates data indicative of the indicia to be usedin the series of labels, which data is combined with template definitiondata to create a set of information that defines each label in theseries of individually identified labels.

The label generation apparatus uses template generation software thatproduces template definitions that vary according to various criteriaspecified by the user of this apparatus. The template variability can becolors, the type of codes imprinted on the label, variable indiciaformat as a function of label application, or any other variationenvisioned by the user. The user of the label generation apparatusspecifies the template formats that are to be printed on the individuallabels. The user also specifies the ordering to be used in thegeneration of the templates. This ordering can be any arbitrarilyselected application, for example: labels having identical indicia butmultiple formats such as printing a label for each employee's personnelfile according to their social security number while also printing adifferent format label for the employee's medical file and a thirdformat label for the employee's benefits file; changing the color of thelabels printed as a function of a real time clock so that the colorfields vary by month and year; or any other conceivable templateconfigurations that are desired by the user. Once the scheme of orderingthe templates are defined by the user, the template generation apparatusgenerates data indicative of all of the templates to be used in theseries of labels that are to be printed. This data is then combined withindicia definition data to create a set of information that defines eachlabel in the series of individually identified labels. This data is thenused by the label generation apparatus to drive a printing mechanism totransfer the defined individually identified labels onto a label media.

One exemplary embodiment of this label generation apparatus is the useof a computer to generate the definition of both the label template andthe label indicia. The computer also combines this data to produce thefinal information that represents individually identified labels. Thecomputer then drives a printing mechanism such as an electrostaticprinter that produces the final labels on the label media. Additionalequipment can be used to provide an adhesive backing to the labels soprinted to thereby provide the user with individually identified labelsin a form and format that is convenient for the particular application.

Thus, this apparatus produces individually identified items without theuse of a permanent or semi-permanent printing master. The labelgeneration apparatus generates labels of arbitrary size, shape, andconfiguration, as defined by the user and media used for the labels.These and other advantages of this apparatus are illustrated in thedetailed description below.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 illustrates in block diagram form the architecture of the labelgeneration apparatus;

FIG. 2 illustrates in flow diagram form the overall functional structureof the label generation apparatus in flow diagram form;

FIG. 3 illustrates a typical output format for a series of orderedlabels;

FIGS. 4 through 8 illustrate typical label configurations that can begenerated using this apparatus;

FIG. 9 is a cross section view of a portion of a label;

FIG. 10 is a cross section view of a portion of a scored label stock;

FIG. 11 is a schematic view of apparatus used to produce rolled stripsof label stock;

FIG. 12 illustrates a cross section view of a portion of stripped, slitlabel stock;

FIG. 13 illustrates a typical user data file;

FIG. 14 illustrates in flow diagram form the operational steps taken bythis apparatus to produce labels;

FIG. 15 illustrates the user display produced by the system to enable auser to define a label template; and

FIG. 16 illustrates the user display, including a defined labeltemplate.

FIGS. 17-19 illustrate three labels: payroll file, department file andmedical file.

DETAILED DESCRIPTION

The label generation apparatus of this invention enables the user todefine a label of various sizes, shapes and characteristics, whereineach label in a series of labels includes unique indicia thatindividually identify each label according to any predefined sequenceand these labels also contain template fields that vary according to theindicia printed thereon or any other predefined ordering.

The label generation apparatus includes a template generation capabilitythat enables the user to define a label format having one or morewritable indicia fields. These one or more writable indicia fields canbe used to provide each label with individual identifying indiciaaccording to any predetermined sequence. The template itself containsone or more variable format fields, wherein the template itself variesas a function of the indicia printed thereon or as a function of anyother defined ordering. Thus, the indicia and template fields can bothvary from label to label.

The label generation apparatus also includes an indicia generationcapability that produces the individual identification according tovarious characteristics that are specified by the user of thisapparatus. The indicia can be alphanumeric characters, bar codes,colors, or any other writable indicia. The user of the label generationapparatus specifies the type of indicia or combinations of the abovelisted indicia that are to be printed on the individual labels.

The user also specifies the ordering to be used in the generation ofthis indicia. This ordering can be any arbitrarily selected sequence,for example: indicia sequentially numbered according to any numberingsystem such as binary, decimal, hexidecimal; indicia ordered accordingto a series such as odd numbers, even numbers; indicia arbitrarilymatched to a data file, such as printing a label for each employeeaccording to their social security number; mixed mode indicia, such asprinting one hundred sequentially numbered labels for each department ina corporate organization; or any other conceivable indicia ordering thatis desired by the user. Once the scheme of ordering the indicia and thestarting and ending indicia are defined by the user, the indiciageneration apparatus generates data indicative of the indicia to be usedin the series of labels which data is combined with template definitiondata to create a set of information that defines each label in theseries of individually identified labels.

The label generation apparatus uses template generation software thatproduces template definitions that vary according to various criteriaspecified by the user of this apparatus. The template variability can becolors, the type of codes imprinted on the label, variable indiciaformat as a function of label application, or any other variationenvisioned by the user. The user of the label generation apparatusspecifies the template formats that are to be printed on the individuallabels. The user also specifies the ordering to be used in thegeneration of the templates. This ordering can be any arbitrarilyselected application, for example: labels having identical indicia butmultiple formats such as printing a label for each employee's personnelfile according to their social security number while also printing adifferent format label for the employee's medical file and a thirdformat label for the employee's benefits file; changing the color of thelabels printed as a function of a real time clock so that the colorfields vary by month and year; or any other conceivable templateconfigurations that are desired by the user. Once the scheme of orderingthe templates are defined by the user, the template generation apparatusgenerates data indicative of all of the templates to be used in theseries of labels that are to be printed. This data is then combined withindicia definition data to create a set of information that defines eachlabel in the series of individually identified labels. This data is thenused by the label generation apparatus to drive a printing mechanism totransfer the defined individually identified labels onto a label media.

System Architecture

FIG. 1 illustrates the architecture of the preferred embodiment of thelabel generation apparatus in block diagram form. This label generationapparatus includes one or more processors (101-1 to 101-n), each ofwhich is a small computer such as a commercially available personalcomputer. The plurality of processors (101-1 through 101-n) are eachinterconnected via an associated bus (102-1 to 102-n) to one or moreinput/output processors 103. The function of the input/output processor103 is to act as a buffer to receive and temporarily store data filesthat are output by the one or more processors 101-1 to 101-n. These datafiles are output by input/output processor 103 over one of the one ormore output bus leads 104-1 to 104-k. These output bus leads 104-1 to104-k interconnect input/output processor 103 with one or more printers107-1 to 107-k. Each printer illustrated in FIG. 1 is equipped with araster processing machine 105-1 to 105-k that is interposed between theassociated printer 107-1 to 107-k and the corresponding output bus lead104-1 to 104-k. The function of the raster processing machine is toconvert the data file that is down loaded from one of processors 101-1to 101-n into a form and format that is usable by the associated printer107-1 to 107-k. The raster processing machines 105-1 to 105-k can bestand alone units as illustrated in FIG. 1 or can be incorporated intothe associated printer 107-1 to 107-k. The stand alone units aredescribed herein for illustration purposes.

For example, processor 101-1 generates an output data file to controlthe operation of printer 107-k. Processor 101-1 transmits this outputdata file via bus 102-1 to input/output processor 103 where it istemporarily stored in a buffer. When printer 107-k is available to printthe label definition data that is stored in this data file, input/outputprocessor 103 transmits the data file in object code form via outputdata bus 104-k to raster processing machine 105-k that is associatedwith printer 107-k. Raster processing machine 105-k converts the objectfile into ASCII raster data that is used to drive the print mechanism inprinter 107-k. The ASCII raster data is output a byte at a time byraster processing machine 105-k via control leads 106-k to printer 107-kto cause the printer 107-k to print the label definition data that iscontained in the original data file that was transmitted by processor101-1. In this preferred embodiment, the label generation apparatus isillustrated as including one or more processors 101-1 to 101-n and oneor more printers 107-1 to 107-k. An alternative implementation is theuse of a single processor and multiple printers or multiple processorsand a single printer. Similarly, a single input/output processor 103 isillustrated in FIG. 1 while a plurality of these input/output processorsmay be used in a particular implementation. The selection of the numbersof the devices illustrated in FIG. 1 and their precise interconnectionis a function largely of the capability of the devices selected. Thus, apowerful processor 101-1 can be used to drive a plurality of printers ifthe processor 101-1 can generate data files at a rate faster than asingle printer can print the files. Therefore, depending on thethroughput required of the label generation apparatus illustrated inFIG. 1, n processors can be used to drive k printers which areinterconnected through one or more input/output processors 103. In someapplications, input/output processor 103 can be dispensed with and adirect connection implemented between the one or more processors and theone or more printers. These are all implementation details that shouldnot be construed to limit in any way the concept of the label generationapparatus described and claimed herein.

Printer

The term printer as used herein describes any of the variouscommercially available computer-driven systems that produce humanreadable and/or machine readable imprints on media. These systemsinclude electrostatic plotters, laser printers, dot matrix printers,thermal printers, magnetic strip writers, magnetic ink characterrecognition (MICR) printers, and pen plotters.

One example of a state of the art printer that produces human readableoutput is the electrostatic plotter, such as the Versatec™ VS3000plotter manufactured by Versatec, Inc. of Santa Clara, Calif. or theColorWriter 400 plotter manufactured by Synergy Computer GraphicsCorporation, of Sunnyvale, Calif. The electrostatic plotter uses fourtoner colors (black, cyan, magenta, yellow) to produce 2048 outputcolors. The plotter produces 400 pixels per inch onto the print mediawhich typically is a 24", 36" or 44" by 200 foot roll of mylar. Otherprint media can be used, such as paper or other transparent materials.In addition, a sandwich or composite label can be produced, with thelabel printed on paper and overlayed with a protective transparentlayer. The plotter includes a raster processing machine either as anintegral part of the plotter or a separate stand-alone unit. The rasterprocessing machine receives print data from the processor generating thelabel data via an RS232C serial interface. The raster processing machineaccepts industry-standard data formats and rasterizes this data intoprinter control signals.

The plotter uses either a single or a multipass color plotting techniqueto ensure data registration accuracy. The multipass technique marks themedia to end of plot in the first pass to assure proper registration.The media is then automatically rewound to plot starting position. Fourpasses, each writing one color from one of the four toner stations,overlay the four primary colors--black, cyan, magenta, and yellow. Theplotter includes automatic precision tracking apparatus to maintainregistration to better than one-half dot. This registration accuracyenables the user to define 2048 colors.

A printer such as the electrostatic plotter can produce colors,alphanumeric characters, bar codes that can be read by a human or amachine vision system. Thus, the electrostatic plotter can produce awide spectrum of label formats and, for that reason, is described in thepreferred embodiment. Other printer mechanisms can be used to producemagnetically readable indicia such as MICR printers, but are notdescribed in detail herein.

Control Software--Template Generator

The remaining elements on FIG. 1 consist of the control routines 111-114that are loaded in each of processors 101-1 to 101-n. These controlroutines are used to construct the database or data file that is used todrive the printer to produce the labels desired by the user. Thesecontrol routines include user interface 114 which is a routine tointerface the label generation apparatus in user friendly fashion withthe user at the keyboard and display of one of the processors, forexample processor 101-1. This user interface 114 can be menu drivensoftware that permits the user to select the label format and define thelabel content as well as the number of labels to be produced by labelgeneration apparatus. The data obtained through user interface 114drives template generator 111 and indicia generator 112.

Template generator 111 produces a definition of both the replicated andvariable parts of the label. The replicated part of the label mayinclude printed delimiters that are used to define various writableindicia fields. The indicia field delimiters may also be simplypredefined areas on the label that are not separated by any printeddelimiters. In addition, template generator 111 produces the standardinvariant textual or visual information that is part of the standardlabel design. Template generator 111 can also produce registration marks(r on FIG. 3) that are used to indicate bench mark positions on thelabel media that is printed with one or more of the labels. Theregistration marks become important when entire sheets of labels areproduced by the printer and these sheets of labels must be cut intoindividual labels. The registration marks provide alignment points whichcan be used by an automatic cutting device to accurately cut the labelsaccording to a predetermined pattern. Another function of templategenerator 111 is to generate stop and start characters when the indiciato be printed on the label comprise a bar code in whole or in part. Atypical bar code includes start and stop characters such as a dollarsign or an asterisk at the beginning and end of the bar code field.Since these start and stop characters are immutable from label to label,template generator 111 can produce these characters as part of theoverall label template.

Template generator 111 can consist of the above described label templateor can also include a sheet template (FIG. 3) that generates a pluralityof the label templates to be printed on an entire sheet of label mediaby the printer. An example of such an arrangement is the printing of asheet of labels consisting of a matrix of N by M labels arranged inlinear fashion. Thus, the sheet template can replicate the individuallabel template into a pattern of N by M label templates and adds theappropriate registration marks r on to the sheet of labels that are tobe printed. The definition provided by the user through user interface114 indicates the configuration of labels that are to be printed by theprinter.

A plurality of sheets of labels wherein each sheet consists of n by mlabels can be designated by the user. FIG. 3 illustrates one sheetdefinition arrangement. A master block (ex-M₁,1) is defined as a matrixof m*n labels arranged in m rows of n labels each. The master block M₁,1is itself replicated as the element in an 1*k matrix. Thus, by thisprocess, an array of N*M labels is defined where N=m*1 and M=n*k.Furthermore, this sheet definition can be replicated sequentially anynumber of times along the length of the label media.

Template generator 111 is typically a library of standard label designsor formats that can be selected by the user. These label designs areproduced, for example, by the use of a graphics software package that isincluded in template generator 111 on-line on one of processors 101-1 to101-n or off-line on another processor (not shown) as a stand-aloneunit. Such graphics software packages are well known and include thefollowing commercially available packages: ISSCO, CATIA, CADRAM, UNIRAS,Precision Visuals, AutoCAD, SAS, D-Pict, PATRAN, Graphics SoftwareSystems/CGI. The user generates the label template, includingdelimiters, textual and visual information as well as printingregistration marks, using a graphics software package and stores thisinformation in template generator 111 as a library routine that can beaccessed for label generation purposes.

Template generator 111 also defines and generates the variable templatefields. The user, via user interface 114, defines the type and characterof the variable format template fields to be produced, the ordering ofthe variable template fields and the indicia field correspondence amongthe variable template fields. Thus, the labels produced by the labelgeneration apparatus can each be uniquely defined by the individualindicia contained thereon; or can be aggregated into subsets, where eachsubset consists of a plurality of labels, each label in a subset havingat least one different template field but identical indicia such thateach label in the subset contains identical indicia that are printed invarying format or configuration; or can be aggregated into subsets,where each subset consists of a plurality of labels, each label in asubset having at least one different template field and varying indiciasuch that each label in the subset contains some different indicia andsome of the indicia are printed in varying format or configuration.

Control Software--Indicia Generator

Indicia generator 112 defines and generates the indicia that areproduced for the writable indicia fields in the labels defined bytemplate generator 111. The user, via user interface 114, defines thetype and character of the indicia to be produced, the ordering of theindicia from label to label and the starting and stopping points of theindicia. Thus, the labels produced by the label generation apparatus canbe sequentially numbered, ordered according to a predefined series ormatched to a database input by the user, and containing an arbitraryindicia listing. Indicia generator 112 produces the sequence of indiciavia the use of program control instructions that define the orderedsequence selected by the user. The program control instructionstypically are mathematical routines that define the sequence of indicia.As with the template definitions, the indicia sequences can be a libraryof standard software routines that are user-selectable or can be a userprogrammed sequence. Indicia generator 112 responds to the selection ofthe desired ordering as well as data input by the user through userinterface 114 defining the form of the indicia to be used. The indiciaconsists of any sort of identification that can be printed on the label.This identification can be bar codes, alphanumeric codes, magneticstrips or color codes.

Once the indicia form is defined, the user through user interface 114defines the format of the indicia. The format can be the order that theindicia are printed in the writable indicia fields, the specificcombination of indicia such as selecting either a single set of indiciaor duplicate or redundant indicia. An example of redundant indicia isthe case where a bar code is printed on the label, and adjacent to thebar code is written the numeric equivalent of the bar code characters.An alternative is the use of color coded indicia that are written intoeach of the writable indicia fields on top of which is written thecorresponding alphanumeric character that matches the defined colorcoding. Similar arrangements can be used and are discussed below forMICR encoding, alphanumerics, color coding and bar coding. The user canalso define the starting value of the indicia to be printed in the firstlabel in the series of labels that are printed.

Once the various parameters defining the indicia are input to indiciagenerator 112 via user interface 114, indicia generator 112 generatesthe series of indicia that are used to individually identify all of thelabels in the series of labels that are to be printed. Indicia generator112 generates the first set of indicia based on the data input by theuser through user interface 114 and then calculates the next indiciavalues based on the defined ordering provided by the user. The indiciavalues are calculated on a label by label basis and stored in a datafile typically on a sheet by sheet basis although this data can bestored on a label by label basis. Once the data file defining thevarious indicia values is completed, the indicia values are convertedinto control signals corresponding to the form and format as well as thecontent of the indicia. File merge routine 113 combines the templategenerated by template generator 111 with the indicia informationgenerated by indicia generator 112 into an object file which is storedin processor 101-1. This object file contains all of the data necessaryto define all of the labels in the series of individually identifiedlabels that are to be printed by the label generation apparatus.

The object file stored in processor 101-1 is downloaded over data link102-1 to input/output processor 103 which is a slave buffer processorused to store the object files before they are printed by the designatedprinting device. Alternatively, processor 101-1 downloads the generateddata over data link 102-1 to input/output processor 103 as it isproduced rather than storing an entire file. The labels can be producedby printers 107-1 to 107-k as the label data is produced. Input/outputprocessor 103 is a computer such as an 80286 based processor board whichfunctions under the control of the one or more processors 101-1 to 101-nto transmit the object files to the one or more printers 107-1 to 107-k.

Input/output processor 103 stores object files to be output on thevarious ones of printers 107-1 to 107-k. The apparatus used to implementthe printers 107-1 to 107-k are any secondary device that can becontrolled by a computer. These devices include electrostatic plotters,laser printers, dot matrix printers, thermal printers, MICR printers,magnetic strip writers and any other such devices.

Label Generation Control Software

Each label generally consists of two sections: a human readable section,a machine readable section. The human readable section includespictorial and written information that identify the item labeled as wellas its source or origin. The pictorial information includes fancifuldrawings to make the label more attractive to the user and coloredbackground areas to simplify the identification of the object to whichthe label is affixed. The textural information provided on the label inhuman readable form is generally in the form of alphanumeric charactersthat identify the item that is labeled.

The machine readable section of the label generally consists of someindicia that can be read by a machine for pricing or objectidentification purposes. In the field of machine readable codes, the barcode is the most widely used and recognized form of machine readablecodes and is utilized on numerous commercial articles. One bar code inparticular, the universal product code (UPC), has gained widespreadacceptance. The universal product code numbering system is described inthe "UPC symbol specification" published by the Uniform Product CodeCouncil, Inc., Dayton, Ohio, and is designed for use primarily with tendigit codes that can be expanded to longer codes. The standard symbol inthis bar code is in the form of a series of parallel light and dark barsof different widths and a corresponding OCR-A or B numeric fontequivalent which is referred to as the "bar code symbol". In a typicalten digit universal product code symbol, the symbol consists of a seriesof thirty (30) dark and twenty-nine (29) light parallel bars with alight margin on each side, each character or digit of the code beingrepresented by two dark bars and two light spaces. The overall shape ofthe bar code is rectangular in nature, with each character beingindependent. The character is typically made up of seven data elementsor modules which may be light or dark and the bar may be constructedfrom one to four dark modules. The universal product code also includestwo characters beyond the ten needed to encode the universal productcode. One character is a modulo check character and is embedded in therightmost portion of the symbol to ensure a high level of reading forreliability. The second character is embedded in the leftmost positionof the universal product code and shows which number system a particularsymbol encodes.

The symbol size in the universal product code is infinitely variable inorder to accommodate the ranges and quality achievable by variousprinting processes. That is, the size of the symbol can be uniformlymagnified or reduced from a nominal without significantly affecting thedegree to which it can be scanned. The universal product code symbol isalso capable of preventing tampering. Unauthorized editions of lines onthe preprinted symbol is readily detectable by conventional scanningdevices. Similarly, poor printing will not result in the scanningdevices reading a wrong number since the symbol has multiple errordetecting features which allows scanner designers to build equipment toautomatically detect and reject a very poorly printed symbol or one thathas been tampered with. Such symbols also incorporate and present thecode number in human readable form as the bar code symbol.

Many other forms of bar codes exist. For example, the code 39 or "3 of9" bar code and the interweaved 2 of 5 code have achieved equalwidespread application. Such codes, like the universal product code,consist of a plurality of light and dark parallel bars variouslyarranged to encode information with features to prevent tampering andaccount for poorly printed symbols. The 3 of 9 bar code also is capableof encoding alphabetical characters as well as numerical characters.

Another form of machine readable code is alphanumeric characters printedin an OCR format. These alphanumeric characters can be scanned by avision system which translates any printed alphanumeric characters intodata that is stored in a computer system. Another form of machinereadable indicia is magnetic strips which are a pattern of magnetizedand unmagnetized stripes that can be read by a magnetic sensor. Themagnetic stripe reader is similar to the vision system bar code readerin function. Yet another form of machine readable code is the magneticink character recognition (MICR) system which uses an ink having amagnetic material therein to imprint machine readable magnetic indiciaon a document.

Label Formats

FIGS. 4-8 illustrate various label formats wherein combinations of humanand machine readable indicia are printed on a label. FIG. 4 illustratesa typical magnetic tape cartridge label 400 that is well known in theart. This label 400 consists of a rectangular shaped label contained aplurality of indicia fields 411-416 each of which is coded with abackground color 431-436 and a alphanumeric character 421-426 printedtherein. The color 431-436 and alphanumeric character 421-426 indiciauniquely identify each magnetic tape cartridge. Each indicia field411-416 can be separated from an adjacent indica field by the use of adelimiter or printing trap 441 that consists of a solid line but the useof such a printed delimiter is not required.

Another form of rectangular label is illustrated in FIG. 5. This labelcontains both human readable and machine readable indicia. A firstvertical column 401 imprinted on label 400 is divided into a series ofvertically aligned, rectangular segments 411-416, each of which areseparated from a contiguous other by a printing trap consisting of asolid line 441. The rectangular segments are also separated from asecond vertically aligned column 402 adjacent to and coextensive withthe first vertical column 401 by another printing trap 442 consisting ofa solid line. One character 421-426 of machine readable and humanreadable code (such as an optical character recognition code) is locatedwithin each rectangular segment 411-416 in the first column 401 therebyforming a message in a first code. The second vertical column 402contains a single machine readable code such as an UPC bar code whichconsists of a message in the second code which is identical to themessage formed in the first vertical column 401. Moreover, thebackgrounds 431-436 of each of the rectangular segments 411-416contained within the first vertical column 401 is suitably color codedto correspond to the respective data characters 421-426 containedtherein thereby providing a message in a third code which is identicalto the above described messages of the first and second codes. Forexample, the numeral "1" corresponds to the color blue, "2" correspondsto gray, "3" corresponds to green, "4" corresponds to orange, "5"corresponds to brown and, "0" corresponds to red. The bar code encodedon this label includes start and stop characters such "*" or "$".

FIG. 6 illustrates a typical bar code label that contains a rectangularshaped field of indicia containing a bar code 601 and the correspondingOCR characters 602. The bar code 601 and associated OCR characters 602provide a unique human readable and machine readable identification ofthe object to which the label is affixed. No printed delimiters are usedin this label to separate the bar code 601 from the OCR characters 602.In addition, no textual or visual information or background printing isillustrated in this label.

FIG. 7 illustrates another label application wherein a plurality ofindicia fields are provided and these indicia fields are not onlymachine readable and human readable but the human readable charactersare in a plurality of languages. The label illustrated in FIG. 7contains a bar code 701, a corresponding set of OCR characters 702 andset of indicia in the arabic language 703. Thus, either a plurality ofdifferent indicia or the same indicia reproduced in a plurality of formsare writable on the label.

FIG. 8 illustrates an oval shaped label that contains a rectangularshaped field of indicia containing a bar code 801 and the correspondingOCR characters 802. The oval shaped label contains both fanciful 805 andinformation conveying areas 803, 804 that identify the source of theidentified object to the user. In addition, the bar code 801 and OCRcharacters 802 provide a unique human and machine readableidentification of the object to which the label is affixed. A typicalapplication of such a label would be a standard commercially availableproduct that is identified by the bar code 801 and OCR characters 802for the purpose of scanning for inventory control to identify thequantity of the labeled objects that are stored in stock.

Label Generation Process

The difficulty with the existing label generation systems is that thesesystems can either generate a vast quantity of identical labels or anumber of differently identified labels according to a well defined andcommonly used numbering scheme. None of the existing systems cangenerate arbitrarily varying indicia according to any predeterminingordering for printing on labels to individually identify each labelwithout using permanent or semi-permanent printing masters. The labelgeneration apparatus of the present invention enables a user to define alabel of various sizes, shapes and characteristics, wherein each labelin a series of labels includes unique indicia that individually identifyeach label according to any predefined sequence in both human readableand machine readable form without using printing masters.

The label generation apparatus includes the control structureillustrated in FIGS. 2 and 3 in flow diagram form. The control structureof FIGS. 2 and 3 consists of a plurality of software routines residenton processor 101-1 to 101-n. In order to better understand the operationof the control structure illustrated in FIGS. 2 and 3, the generation ofa plurality of the label illustrated in FIG. 5 is described. A sheet oflabel media is used to produce a matrix of n times m of the labels ofFIG. 5. This matrix arrangement is illustrated in FIG. 3 wherein onesheet of the label media containing N times M labels are illustrated.The process of label generation begins at step 200 on FIG. 2. Processor101-1 prompts the user at the associated keyboard at step 201 to enterinitializing information to identify the label format, i.e.--the labelof FIG. 5, as well as the initial value used for the indicia written onthis label. The user at this step also inputs the final label value orthe quantity of labels that are to be printed. It is assumed that thereis a standard correspondence between the alphanumeric characters printedon the label and the color background printed in the indicia fields. Ifthe user wishes to vary this standard correspondence, data can beentered at step 201 to redefine the correspondence in processor 101-1.Assume for the purpose of this description that the standard format andcolor/numeric correspondence is desired. At step 202, the user definesthe starting x and y position coordinates of the label generation on thesheet of label media.

In response to the data entered by the user at steps 201 and 202,processor 101-1 retrieves the initial label value entered by the userand sets the label count variables equal to 1. Processing advances tostep 204 where the label template is retrieved from the memory ofprocessor 101-1. This label template consists of all of the standardinvariant non-indicia printing on the label. The label template includesthe vertical and horizontal print traps that function as delimiters toidentify each indicia field on the label. The label template alsoincludes the start and stop characters in the bar code. Any otherinvariant printing on the label is also drawn at this point. For thepurpose of this description, the term "draw" indicates the generation ofthe control information required to activate one of printers 107-1 to107-k to actually print the identified information on the label media.In the multi processing environment illustrated in FIG. 1, the entiresheet of label media is typically drawn at the same time rather than ona label by label basis as processor 101-1 generates the control signals.Thus, the control process illustrated in FIGS. 2 and 3 result in thegeneration of a data file that consists of all of the controlinformation required to activate one of printers 107-1 to 107-k toproduce an entire sheet or collection of sheets of labels. Thus, at step204 when processor 101-1 "draws" the label template for the first labelin the series of labels, processor 101-1 stores the data indicative ofthe template in a data file associated with this print job.

File Merge

At step 205, processor 101-1 retrieves the present value of the labelindicia which, in this case, is the initial label value input by theuser at step 201. At step 206, processor 101-1 converts the presentlabel value into a set of optical character recognition (OCR)characters. These characters are drawn at step 207 in the appropriateindicia fields in the label template. At step 208, processor 101-1obtains the correspondence between the generated OCR characters and thebackground colors required for each of the indicia fields in which theseOCR characters are printed. At step 209, processor 101-1 generates thecontrol signals to activate the printer to draw the colored area fillsfor each of the indicia fields in the label. At step 210, processor101-1 retrieves the bar code values corresponding to the generated OCRcharacters. At step 211 these bar codes are drawn in appropriate indiciafields in the label template. This step completes the generation of asingle label including the label template, the OCR characters, colorbackground indicia and bar codes.

Label Sequencing

Once the label is completed, processing advances to step 212 whereprocessor 101-1 increments the label count, the horizontal positionvariable and the value of the label indicia. The label indicia can benumbered according to any predetermined ordering that is required by theuser. This can be a sequential numbering, an ordered series, orcorrespondence to any input data file provided by the user. Thus, labelcount and label indicia value record are maintained separately byprocessor 101-1 since the label numbering may not be sequential and maynot match the label count. Processor 101-1 must increment the labelcount at step 212 and generate the next label indicia value according towhatever predetermined ordering has been identified by the user. At step213, processor 101-1 increments the horizontal position variable. Atstep 214, processor 101-1 compares the horizontal position variable withthe defined maximum number of horizontal print positions for theparticular sheet of label media to be printed. Thus, in the example ofFIG. 8, a matrix of N times M labels are to printed on the sheet oflabel media. For the purpose of illustration, the number of labels on amaster block M₁,1 of label media is five rows of twenty columns. Thus,at steps 213 and 214, the horizontal position count is incremented andcompared with the delimiter of twenty to determine whether the entirerow of twenty labels in the first block has been printed. If the entirerow of twenty labels has not been printed, at step 214 processor 101-1returns control to step 204 where another label in the sequence oflabels is generated. The processing of steps 204 to 214 continues untilan entire row of twenty labels has been printed. At this point,processing advances to step 215 where the vertical position count isincremented and at step 216 compared with the maximum value (which forthis case is five). Thus, steps 213 and 214 generate a row of twentylabels while steps 215 and 216 generate five rows of twenty labels.

Once processing of this master block M₁,¹ of 100 labels in a 20×5 matrixhas been completed, processing advances to step 217 where the verticalposition variable is reset to 1 and the horizontal block position isincremented. At step 218, the horizontal block position is compared withthe maximum value which in this case is 2. Similarly, steps 219 and 220reset the horizontal block position to 1, increment the vertical blockposition and compare it with a maximum value which in this case is 5.Thus, steps 213-220 generate a matrix consisting of a master block of100 labels in a 20 wide by 5 high configuration which master block isreplicated twice horizontally and five times vertically on a sheet oflabel media to produce a series of 1,000 labels. This series can be ofarbitrary length but for the purpose of illustration is indicated hereto be a length of 1,000 which is a typical number that would be used.Once the entire 1,000 labels are printed using the control routineillustrated in FIGS. 2 and 3, processing advances to step 221 where thegeneration process is completed.

File Transmission

At this point, the entire data file consisting of the template and thelabel indicia information for all 1,000 labels is stored in processor101-1. Since the series of labels is ready for printing, processor 101-1transmits this data file to input/output processor 103 via bus 102-1where the data file is stored until one of printers 107-1-107-k isavailable to print this data file. Assume for the purpose of discussionthat printer 107-1 is available to print the data file. Input/outputprocessor 103 transmits the data file over output bus 104-1 to rasterprocessing machine 105-1 associated with printer 107-1. Rasterprocessing machine 105-1 converts the data file that is downloaded fromprocessor 101-1 via input/output processor 103 into a form and formatthat is usable by printer 107-1. Raster processing machine 105-1converts the object file form of the data file into ASCII raster datathat is used to drive the print mechanism in printer 107-1. The type ofcontrol information that is provided in the object file are controlsignals indicative of which pen in the plotter is to produce aparticular segment of the label, pen up and pen down commands, and dataindicative of the starting position length and direction of each line orcharacter printed on the label.

Label Media

The labels produced by the label generation apparatus (for example--FIG.4) comprise an elongated rectangular shape base sheet member 102 (seeFIG. 9) made of clear plastic material, such as Mylar, having a flat,smooth, glossy front surface 104 and a flat back surface 106 which hasbeen chemically treated to enable electrostatic ink printing thereon asgenerally indicated by ink layer zone 108. The OCR alphanumericcharacters 421-426 and corresponding colors 431-436 are reverse-printedwith ink on the back surface 106 thereof in the printed ink zone 108 soas to be viewable in proper orientation through the front surface 104thereof. Label graphics as they appear when viewed through front surface104 are shown in FIG. 4, which is a front view of a back-printed plasticsheet. A layer of opaque adhesive material 110, FIG. 9, is fixedlyadhered to the entire printed back surface 106 of the sheet member 102in overlaying, covering relationship with the printed characters421-426, and colors 431-436, thereon. Thus, unlinked portions (e.g. allof the spaces between the dark bars of the bar code alphanumericcharacters in the second column 402 of FIG. 5) of the base sheet membermaterial 102 appear to be the color of the opaque adhesive material 110when viewed through the front surface 104 of base sheet member 102. Theink zone may have a single layer of ink, e.g. the black color bar codelines and the black color zone separating lines or multiple layers ofink where the black color alphanumeric indicia have a different colorbackground overlay. A removable sheet 114 of backing material isremovable adhered to the layer of opaque adhesive material 110, thebacking material 114 being constructed of a substance such as treatedpaper which forms a weaker bond with the adhesive layer 110 than theplastic base member 102. Thus, the backing sheet is readily removablefrom the label prior to application of the label to a surface withoutremoval of the adhesive layer 110 from the plastic layer 102.

Label Manufacturing Method and Apparatus

The present invention also comprises a method and apparatus forproducing labels of the type described above. The apparatus for forminglabels, in general, comprises an electrostatic printer 107-1, FIG. 1,and a laminator 179, FIG. 11. A continuous web of clear plastic sheetmaterial 132 is provided in a selected width, e.g. 24 inches. The clearplastic web 132 is preferably a relatively stiff, highabrasion-resistant plastic material such as polyethylene terephthalateresin, which has been treated for electrostatic ink printing and isavailable commercially from the DuPont Company under the product name"Mylar". The plastic web preferably has a thickness of between 3 milsand 5 mils, and most preferably 4 mils.

The clear plastic web 132 is supplied to a conventional electrostaticprinter 107-1. The electrostatic printer 107-1 is programmed to printreverse-image graphics and background colors on the web 128corresponding to the graphics and colors of the label described abovewith reference to FIG. 1. In the preferred embodiment, the zoneseparation lines and alphanumeric and bar code images are printed firstin black ink onto the back side of the plastic sheet material. Then thevarious background colors are selectively printed in the selected colorinks onto the back side of the plastic sheet material over and aroundthe alphanumeric ink images. The adhesive material preferably has awhite color to provide maximum contrast with the black and other colorink.

As illustrated in FIG. 11, a laminating apparatus for forming rolledstrip label stock may comprise an adhesive web unwind spool 180 whichprovides a continuous adhesive web 172. In an embodiment of theinvention in which the adhesive web 172 is provided with two backinglayers 176, 178, a second backing layer stripping assembly 182 isprovided which strips off and collects second backing layer 178 on abacking layer collection spool 184. The adhesive web 172 positioneddownstream of the backing layer stripping assembly 182 thus has anexposed adhesive layer 174 on the upper portion thereof and a backinglayer 176 on the lower portion thereof. If a single-backed adhesive web172 is used, the need for the second backing layer stripping assembly182 is, of course, obviated. The apparatus also includes a back-printedplastic web supply means such as unwind spool 188. The printed backsurface 171 of the plastic web (which corresponds to surface 106 of asubsequently-formed label) is positioned upwardly and unprinted surface104 is positioned downwardly in the arrangement illustrated in FIG. 11.The adhesive web 172 and the back-printed plastic web 132 are both drawninto a laminating nip 190 formed by laminating rolls 192, 194 with theplastic web printed surface 171 being placed in contact with the exposedadhesive layer 174. The two webs are urged into compressive contact bythe rolls to form a composite web 196, as illustrated generally in FIG.9 prior to the occurrence of cut 200 (FIG. 10).

The composite web 196 initially passes through a scoring station 198 inwhich scoring blades 200, shown schematically in FIG. 10, provide aplurality of cuts 202. The knife 200 illustrated in FIG. 10 is shownraised above cut 202, but it will, of course, be understood that, duringan actual cutting operation, the knife would be positioned within thearea indicated by the cut 202. The cut 202 extends through the clearplastic layer 102 and adhesive layer 110, terminating at the interface111 between the adhesive layer 110 and backing layer 114. A scored web210, as shown in FIG. 10 including the areas shown in solid lines and inphantom lines, thus emerges from scoring station 198. A scrap webstripping means which may include a scrap windup spool 212 and an idlerroll 213 is provided for stripping a continuous scrap web 214 from thescored web 210 to provide a stripped label stock web 216, as shown inFIG. 10 in solid lines only. The continuous scrap web 214, FIG. 10 inphantom, comprises the portions of plastic layer 102 and adhesive layer100 other than the portions thereof associated with label graphics andnone of the backing layer 114. The stripped label stock web 216 includesall of the continuous backing layer 114, the portion of plastic layer102 which was back-printed with label graphics, and the portion ofadhesive layer 110 directly underlying the portion of layer 102 withgraphics printed thereon. The stripped label stock web 216 thus formedpasses through a slitting station 218 whereat a plurality of slittingknives 220, FIG. 12, longitudinally slit the stripped label stock web216 to from a slit label stock web 222 comprising a plurality oflongitudinally-extending strips 224, 226, 228, 230, 232, etc., definedby cuts 217, which are each one label wide. The slit label stock web 222is collected on a slit web windup spool 240, FIG. 11, and thus providesa plurality of rolls of label strip stock 224, 226, etc.

Alternatively, the structure of FIG. 9 can be modified to substitute apaper printing web 108 to which the printing is applied in place of theink layer 108 applied to the back side 106 of the clear plastic web 102.

Variable Template Generation

Within the template generator 111 described above, is included controlsoftware to enable a user to create label formats and to produce labelswith variable templates. Thus, the series of labels can include subsetsof labels where each subset consists of a plurality of labels, eachlabel in a subset having at least one different template field butidentical indicia, such that each label in the subset contains identicalindicia that are printed in varying format or configuration; or can beaggregated into subsets, where each subset consists of a plurality oflabels, each label in a subset having at least one different templatefield and varying indicia such that each label in the subset containsdifferent indicia and some of the indicia are printed in varying formator configuration.

One example of such capability is illustrated in FIGS. 13 and 14 whereinFIG. 13 represents a database of employee information and FIG. 14 is atypical variable template label generation program in flow diagram form.The database includes typical relevant employee data and whenever anemployee is added to the payroll, a plurality of employee labels need beproduced: payroll file, department file, medical file. The label foreach of these files can be customized to match the specific needs ofthat application and the labels can include indicia that areautomatically produced by indicia generator 112 and indicia that areinput via the database illustrated in FIG. 13. The individual labeltemplates are produced by a user and stored in memory in templategenerator 111 for access by the label generation programs such as thatillustrated in FIG. 14.

Label Generator Application Functional Flow

The Label Generator Application is a "point and click" application whichallows a user to design, build, and generate a label from the availabletools. The user can take a design concept, build a block-wire diagram ofthe label and generate a basic label configuration. Since every labeldesign is different, there is no set way to build a label. However,there are certain guidelines and procedures involved in the labelgeneration process which are outlined here.

The Label Generator Application (LGA) is actually a two phase process.The first phase is a graphical design process which generates a labelconfiguration file (LCF). The second phase of the application takes thelabel configuration file and processes the information to generate anactual hardcopy label. All of the label generator applicationfunctionality is controlled from the applications main screenillustrated in FIG. 15. This main screen is split into four generalareas:

1) Label/File Functions Area--1501

2) Status Area--1502

3) Graphic Design Area--1503

4) Create/Edit Options Area--1504

Initially, the Label/File Functions Area 1501 and the Status Area 1502are active. The Label/File Function Area 1501 allows the user to performgeneral actions on the label configuration files. The Status Area 1502is always active but there is no direct user interface with this area,since this area reports general error messages. When the Label/FileFunction Area 1501 is inactive, the Graphic Design Area 1503 and theCreate/Edit Options Area 1504 are active. The Graphics Design Area 1503is the graphical area where the block-wire diagram of the current labeldesign is presented. The Create/Edit Options Area 1504 is where the userselects the objects and their associated parameters used to build thelabel.

Since the Label/File Function Area 1501 is the only interactive areainitially, the user must begin here. There are nine active functions inthis area, of which five are "label" functions:

1) Create Label

2) Copy Label

3) Edit Label

4) View Label

5) Plot Label

The other four functions are:

6) Create Text

7) Select Template Size

8) Quit

9) Display Text File Depending on which function is chosen, theapplication prompts the user for associated information. These functionsand the required associated information are discussed in detail below.

1) Create Label--The "Create Text" and "Select Template Size" functionsare directly associated with "Create Label" and these three functionsare grouped together in a functional manner. The Create Label functionmust be preceded by both the Create Text function and the SelectTemplate Size function in order to initiate the proper Create Labelparameters.

a) Create Text--This function is intended for the user to create thedesired text format of the data file for the current label design. Whenthe Create Text function is selected, a filename pop-up is activated.The user inputs the desired name of the data file and then a templatefor the data format is displayed. The user then inputs the actual datadesired for the present label configuration as well as the maximumstring length for the desired format (maximum string length defaults tothe string length of the current text string).

b) Select Template Size--This function allows the user to either choosethe desired label template size from a current table or add a previouslyundefined template size to the table and select it. This template is theinitial building block for all label designs.

Once the Create Text and Select Template Size functions have beencompleted, a label may be created. When the Create Label function ischosen, the filename pop-up is activated and the user inputs the name ofthe label configuration file to be created. When this name is "entered"the Label File Function Area 1501 is temporarily disabled (except theDisplay Text File function) while the Graphics Design Area 1503 isactivated, showing a ruled wire image of the current template, and allof the options in the Create/Edit Options Area 1504 are activated (FIG.16).

The Create/Edit Options Area 1504 is made up of 5 active functionalareas:

1) Objects

2) Actions

3) Style

4) Size

5) Save/Don't Save Label

The Objects function allows the user to choose the object type to beplaced on the label, solicits the necessary information for the objecttype, and enables that object to be placed in the Graphical Design Area1503. The other four functions are used to either address the contentsof the label configuration file or define certain aspects of the currentobject.

    ______________________________________                                        Actions                                                                       Add        select to add an entity to label                                              configuration file                                                 Delete     select to delete an entity to label                                           configuration file                                                 Repaint    repaint all entities in current label                                         configuration file                                                 Style      Only applied to Anchor (Alpha-Numeric                                         Color Hatch Region) entities and Year                                         Band entities. User may choose any                                            currently available style simply by                                           "pointing to" and "clicking" on                                               the desired style.                                                 Size       Only applies to Anchor (Alpha-Numeric                                         Color Hatch Region) entities and Year Band                                    entities. User may choose any currently                                       available size simply by "pointing to" and                                    "clicking" on the desired size. The                                           size actually described the height                                            of the selected Style.                                             Save Label Save current label configuration file.                             Don't Save Label                                                                         Do not save current label configuration                                       file.                                                              ______________________________________                                    

Note: Anchor and Year Bands are dependent on both the Style and the Sizeparameters. Vertical Color Bands and Horizontal Color Bands use thecurrent Style selected for color formatting. These functions derivetheir information from "Style Libraries" which are proprietary filesdescribing certain graphical aspects of these objects types.

The Object function has nine entity types available for election andwhich are illustrated in FIG. 16. When an entity type is chosen, apop-up window appears which solicits certain information pertaining tothat entity type:

    ______________________________________                                        Anchor (1601)                                                                 Digit Style (S or D)                                                                      Single or Double character format.                                String Number                                                                             from text file format.                                            String Position                                                                           position of character in String Number.                           Barcode (1602)                                                                String Number                                                                             from text file format.                                            Bar Length  number of characters (starting at string                                      position one of String Number) to barcode.                        Character (1603)                                                              String Number                                                                             from text file format.                                            String Position                                                                           position of character in String Number.                           Character Angle                                                                           Orientation of character (0, 90, 180, 270).                       Character Height                                                                          Actual height of character in mils.                               Hard Code (1604)                                                              String Information                                                                        The actual "hard coded" test                                                  String to be displayed on the label.                              String Orientation                                                                        Orientation of string (0, 90, 180, 270).                          String Height                                                                             Actual height of text in mils.                                    Horizontal (1605)                                                             Style Digit (0-9) Choose the color of the                                                 Horizontal Bar. The current Style has a                                       color associated to each digit 0-9.                               Logo                                                                          Logo Filename                                                                             the name of the file containing the                                           point description of the desired Logo.                            Test String (1606)                                                            String Number                                                                             from the text file format.                                        Text Orientation                                                                          Orientation of string (0, 90, 180, 270).                          Text Height Actual height of text in mils.                                    Vertical (1607)                                                               Style Digit (0-9) Choose the color of                                                     the Vertical Bar. The current Style has a                                     color associated to each digit 0-9.                               Year Band   Enter desired year.                                               (1608) - Year                                                                 ______________________________________                                    

Once all of the necessary information for an entity is gathered, theuser can place the entity on the template in the Graphic Design Area1503 at the desired position simply by moving the cursor to the desiredcoordinates and "clicking" the proper mouse button. An entity may bedeleted simply by choosing the Delete Action and then pointing to thedesired entity to be deleted with the cursor and "clicking".

2) Copy Label--The Copy Label function allows a user to copy an existinglabel configuration file in order to create a modified version of thatconfiguration. When selected, a pop-up is activated which prompts theuser for the name of the source label configuration file (From:) and thetarget label configuration file (To:).

3) Edit Label--The Edit Label function allows a user to edit an existinglabel configuration file. When selected, a filename pop-up is activatedand the user inputs the name of the desired label configuration file.When "entered", the configuration for that label appears in the GraphicsDesign Area 1503. The Label/File Function Area 1501 is temporarilydisabled and the Create/Edit Options Area 1504 is activated. From here,the user has all of the options just as if the Create Label function waschosen.

4) View Label--The View Label function allows the user to view anexisting label configuration file. When selected, a filename pop-up isactivated and the user inputs the name of the desired labelconfiguration file When "entered" the configuration for the labelappears in the Graphics Design Area 1503 but there is no userinteraction (i.e. no functional change to active areas and editing isnot allowed).

5) Plot Label--The Plot Label function allows the user to plot a hardcopy of the desired label. When selected, a filename pop-up is activatedand the user inputs the name of the desired label configuration file.When "entered", the phase two processor is invoked and the label isplotted, leaving the phase one application active during processing(i.e. user can continue to work on other labels while plotting).

6) Create Text--See Create Label above.

7) Select Template Size--See Create Label above.

8) Quit--The Quit function prompts the user for verification (Yes/No)and quits the application if "Yes" is chosen.

9) Display Text File--The Display Text File function, which is alwaysactive, allows the user to look at the current text format of the datafile as well as the actual text being used. When selected, a filenamepop-up is activated and the user inputs the name of the desired datafile When "entered" the actual file appears on the screen. This functionis valuable in the respect that almost all Object types depend on someinformation from the data file.

Label and Template Merging

The labels defined by a user, as described above, are populated withindicia according to the operational steps of a label routine asillustrated for example in FIG. 14. Again using the employee databaseexample, at step 1401 the user activates the label routine by accessingthe routine via user interface 114. The routine at step 1402 queries theuser for input data, such as: employee name, social security number,date of birth, department number, pay grade, number and types of labels.At step 1403, indicia generator 112 automatically generates an orderedsequence of indicia, such as employee number, date of hire. Once theindicia are generated, the defined sequence of labels is created bycombining at step 1404 the user input indicia and automaticallygenerated indicia into each label in the subset of labels. The routineat step 1405 uses the input data that defines the number and types oflabels to generate a template for each label. The templates include bothfixed and variable template fields, which are typically defined by theuser identifying existing label types that are stored in memory. Thisexample notes three labels: payroll file, department file, medicalfile--illustrated in FIGS. 17-19, respectively. Thus, the payroll filelabel 1700 of FIG. 17 notes employee name 1701, employee number 1702 andsocial security number 1703 in alphanumeric form, and in bar code form1704 as well as year of hire in both alphanumeric 1705 and color codeform 1706. In order to simplify file identification, a color band 1707indicative of type of file can be included. The department file label1800 of FIG. 18 lists employee name 1801, and employee number 1802 inalphanumeric form and in bar code form 1805 while pay grade 1803 andyear of hire 1804 are illustrated by color codes on the label. Finally,FIG. 19 represents the medical file label 1900 which again listsemployee name 1901, employee number 1902 but also year of birth 1903 anddepartment 1908 in alphanumeric form and in bar code form 1904 whileyear of birth 1905 and department 1906 are displayed in color code formand bar code form 1907. These labels are produced by combining at step1406 the generated indicia, user input indicia and generated fixed andvariable template fields. The resultant label data is transmitted atstep 1407 to the printer apparatus 170, as described above.

Thus, a subset of labels, each a unique combination of indicia andtemplates, are automatically produced as part of a series of labels.Each subset is, in this example, keyed on a single data entry or event(new employee). It is obvious that various combinations and variationsof this arrangement are possible. Bar codes, alphanumeric indicia, colorcodes, magnetic codes can be used as well as label formats whoseconfigurations are only limited by the imagination of the user whocreates the templates.

While a specific embodiment of this invention has been disclosed herein,it is expected that those skilled in the art can design otherembodiments that differ from this particular embodiment but fall withinthe scope of the appended claims.

We claim:
 1. Apparatus for automatically producing a set of labels, saidset consisting of a plurality of labels, all of which uniquely identifya single entity, each label in said set of labels containing acombination of indicia and template fields that is individual to saidlabel, comprising:means for defining a set of label templates, said setof label templates consisting of a plurality of label templates, eachlabel template having at least one writable indicia field; means forautomatically generating a single set of indicia, said single set ofindicia including at least one indicia that uniquely identifies saidsingle entity; means for automatically aggregating a subset of indiciafrom said generated single set of indicia for each of said labeltemplates, each said subset of indicia including at least one indiciathat uniquely identifies said single entity; means for automaticallygenerating data representative of each of said plurality of templatesand a corresponding subset of indicia, said data defining said set oflabels; means, responsive to said means for automatically generating,for producing said set of labels; means for color coding at least one ofsaid excerpted indicia according to a predetermined color to indiciacorrespondence; and wherein said means for automatically generating datagenerates data including said color coding of said at least oneexcerpted indicia.
 2. The apparatus of claim 1 wherein said definingmeans comprises:means for delimiting boundaries of said indicia fields.3. The apparatus of claim 2 wherein said defining means furthercomprises:means for generating label media registration marks.
 4. Theapparatus of claim 1 wherein said indicia generating meanscomprises:means for replicating at least one indicia in each of said nsets of indicia to produce both a human readable and a correspondingmachine readable indicia in each of said n sets of indicia.
 5. Theapparatus of claim 1 wherein said indicia generating meanscomprises:means for replicating at least one indicia in each of said nsets of indicia to produce two duplicate indicia in content butdifferent in form.
 6. The apparatus of claim 1 wherein said producingmeans comprises:means responsive to said producing means for convertingsaid label template data and said inserted indicia into printing controlsignals defining individually identified labels.
 7. The apparatus ofclaim 6 wherein said producing means further comprises:means fortransmitting said printing control signals to a printer.
 8. Theapparatus of claim 7 wherein said printer comprises:computer controlledprinting apparatus for converting said printing control signals toprinted indicia and template on said label media.
 9. The apparatus ofclaim 1 further comprising:means for dividing said label media intoindividual labels.
 10. A method for automatically producing a set oflabels, said set consisting of a plurality of labels, all of whichuniquely identify a single entity, each label in said set of labelscontaining a combination of indicia and template fields that isindividual to said label, comprising the steps of:defining a set oflabel templates, said set of label templates consisting of a pluralityof label templates, each label template having at least one writableindicia field; automatically generating a single set of indicia, saidsingle set of indicia including at least one indicia that uniquelyidentifies said single entity; automatically aggregating a subset ofindicia from said generated single set of indicia for each of said labeltemplates, each said subset of indicia including at least one indiciathat uniquely identifies said single entity; automatically generatingdata representative each of said label templates and a correspondingsubset of indicia, said data defining said set of labels; automaticallyproducing, in response to said data generated, said set of labels;colorcoding at least one of said excepted indicia according to apredetermined color to indicia correspondence; and wherein said step ofautomatically generating data generates data including said color codingof said at least one excerpted indicia.
 11. The method of claim 10wherein said step of defining comprises:delimiting boundaries of saidindicia fields.
 12. The method of claim 11 wherein said step of definingfurther comprises:generating label media registration marks.
 13. Themethod of claim 10 wherein said step of indicia generatingcomprises:replicating at least one indicia in each of said n sets ofindicia to produce beth a human readable and a corresponding machinereadable indicia in each of said n sets of indicia.
 14. The method ofclaim 10 wherein said step of indicia generating comprises:replicatingat least one indicia in each of said n sets of indicia to produce twoduplicate indicia in content but different in form.
 15. The method ofclaim 10 further comprising the step of:converting said label templatedata and inserted indicia into printing control signals definingindividually identified labels.
 16. The method of claim 15 furthercomprising the step of:transmitting said printing control signals to aprinting apparatus.
 17. The method of claim 16 wherein said step ofprinting comprises:converting, in a computer controlled printingapparatus, said printing control signals to printed indicia and templateon said label media.
 18. The method of claim 10 further comprising thestep of:dividing said label media into individual labels.
 19. Apparatusfor automatically producing a series of labels, said series consistingof a plurality of labels, all of which uniquely identify a singleentity, each label containing indicia individual to said label,comprising:means for defining a sheet template consisting of a matrix ofn*m label templates, said matrix of label templates consisting of aplurality of label templates with each of said templates containing atleast one writable indicia field and at least one variable templatefield, wherein n is a positive integer greater than 0 and m is apositive integer greater than 1; means for automatically generatingindicia for each of said indicia fields on each of said labels in saidmatrix of label templates according to a user defined labelidentification ordering to individually identify each label; means forautomatically generating a set of data representative of said at leastone variable template field for each label in said series of labelsaccording to a predetermined label ordering; means for combining saidsheet template and said generated indicia and data to produce adefinition of a series of individually identified labels; means forcolor coding at least one of said excepted indicia according topredetermined color to indicia correspondence; wherein said means forautomatically generating data generates data including said color codingof said at least one excerpted indicia; and means for printing saiddefined series of labels on label media.
 20. The apparatus of claim 19wherein said generating means comprises:means for generating n*m sets ofindicia, each of said sets of indicia corresponding to both humanreadable and machine readable entries in said indicia fields on one ofsaid labels in said series, according to a predetermined labelidentification ordering to individually identify each label.
 21. Theapparatus of claim 19 wherein said generating means comprises:means forgenerating n*m sets of indicia, each of said sets of indiciacorresponding to entries in said indicia fields on one of said labels insaid series where said entries consist of two duplicate indicia incontent but different in form, according to a predetermined labelidentification ordering to individually identify each label.
 22. Theapparatus of claim 19 wherein said generating means comprises:means forgenerating k*(n*m) sets of indicia, each of said sets of indiciacorresponding to entries in said indicia fields on one of said labels insaid series, according to a predetermined label identification orderingto individually identify each label, where k is a positive integergreater than zero.
 23. The apparatus of claim 19 wherein said definingmeans comprises:means for delimiting boundaries of said indicia fields.24. The apparatus of claim 19 wherein said defining means furthercomprises:means for generating label media registration marks.
 25. Theapparatus of claim 19 wherein said generating means comprises:means forreplicating at least one indicia in each of said n sets of indicia toproduce both a human readable and a corresponding machine readableindicia in each of said n sets of indicia.
 26. The apparatus of claim 19wherein said indicia generating means comprises:means for replicating atleast one indicia in each of said n sets of indicia to produce twoduplicate indicia in content but different in form.
 27. The apparatus ofclaim 19 further comprising:means responsive to said inserting means forconverting said label template data and said inserted indicia intoprinting control signals defining individually identified labels. 28.The apparatus of claim 27 further comprising:means for transmitting saidprinting control signals to said printing means.
 29. The apparatus ofclaim 28 wherein said printing means comprises:computer controlledprinting apparatus for converting said printing control signals toprinted indicia and template on said label media.
 30. The apparatus ofclaim 19 further comprising:means for dividing said label media intoindividual labels.
 31. A method for automatically producing a series oflabels, said series consisting of a plurality of labels, all of whichuniquely identify a single entity, each label containing indiciaindividual to said label, comprising the steps of:defining a sheettemplate consisting of a matrix of n*m label templates, said matrix oflabel templates consisting of a plurality of label templates with eachof said templates each containing at least one writable indicia fieldand at least one variable template field, wherein n is a positiveinteger greater than 0 and m is a positive integer greater than 1;automatically generating indicia for each of said indicia fields on eachof said labels in said matrix according to a user defined labelidentification ordering to individually identify each label;automatically generating a set of data representative of said at leastone variable template field for each label in said series of labelsaccording to a predetermined label ordering; combining said sheettemplate and said generated indicia and data to produce a definition ofa series of individually identified labels; color coding at least one ofsaid excerpted indicia according to a predetermined color to indiciacorrespondence; and wherein said step of automatically generating datagenerates data including said color coding of said at least oneexcerpted indicia; and printing said defined series of labels on labelmedia.
 32. The method of claim 31 wherein said step ofgeneratinggenerating n*m sets of indicia, each of said sets of indiciacorresponding to both human readable and machine readable entries insaid indicia fields on one of said labels in said series, according to apredetermined label identification ordering to individually identifyeach label.
 33. The method of claim 31 wherein said step of generatingcomprises:generating n*m sets of indicia, each of said sets of indiciacorresponding to entries in said indicia fields on one of said labels insaid series where said entries consist of two duplicate indicia incontent but different in form, according to a predetermined labelidentification ordering to individually identify each label.
 34. Themethod of claim 31 wherein said step of generating comprises:generatingk* (n*m) sets of indicia, each of said sets of indicia corresponding toentries in said indicia fields on one of said labels in said series,according to a predetermined label identification ordering toindividually identify each label, where k is a positive integer greaterthan zero.
 35. The method of claim 31 wherein said step of definingcomprises:delimiting boundaries of said indicia fields.
 36. The methodof claim 35 wherein said step of defining further comprises:generatinglabel media registration marks.
 37. The method of claim 31 wherein saidstep of generating comprises:replicating at least one indicia in each ofsaid n sets of indicia to produce both a human readable and acorresponding machine readable indicia in each of said n sets ofindicia.
 38. The method of claim 31 wherein said step of generatingcomprises:replicating at least one indicia in each of said n sets ofindicia to produce two duplicate indicia in content but different inform.
 39. The method of claim 31 further comprising the stepof:converting said label template data and inserted indicia intoprinting control signals defining individually identified labels. 40.The method of claim 38, further comprising the step of:transmitting saidprinting control signals to a printing apparatus.
 41. The method ofclaim 39 wherein said step of printing comprises:converting, in acomputer controlled printing apparatus, said printing control signals toprinted indicia and template on said label media.
 42. The method ofclaim 31 further comprising the step of:dividing said label media intoindividual labels.
 43. Apparatus for automatically producing a sequenceof individually identified labels, said set consisting of a plurality oflabels, all of which uniquely identify a single entity, each label insaid set of labels containing a combination of indicia and templatefields that is individual to said label, comprising:means for defining alabel set template comprising an n*m pattern of individual labeltemplates, each of which includes k writable information fields and atleast one variable template field; means for generating an orderedsequence of n*m indicia, each of said n*m indicia consisting of kcharacters, where n and k are positive integers greater than 0 and m isa positive integer greater than 1; means for inserting datarepresentative of said variable template field into said defined labeltemplate for each label in said series of labels according to apredetermined label ordering; and means for inserting the k charactersof each successive one of said n*m indicia in the corresponding writableinformation fields of successive individual label templates.
 44. Theapparatus of claim 43 wherein said generating means comprises:means forgenerating n*m sets of indicia, each of said sets of indiciacorresponding to both human readable and machine readable entries insaid indicia fields on one of said labels in said series, according to apredetermined label identification ordering to individually identifyeach label.
 45. The apparatus of claim 43 wherein said generating meanscomprises:means for generating n*m sets of indicia, each of said sets ofindicia corresponding to entries in said indicia fields on one of saidlabels in said series where said entries consist of two duplicateindicia in content but different in form, according to a predeterminedlabel identification ordering to individually identify each label.
 46. Amethod for automatically producing a sequence of individually identifiedlabels comprising the steps of:defining a label set template comprisingan n*m pattern of individual label templates, each of which includes kwritable information fields and at least one variable template field,where n and k are positive integers greater than 0 and m is a positiveinteger greater than 1; generating an ordered sequence of n*m indicia,each of said n*m indicia consisting of k characters; inserting datarepresentative of said variable template field into said defined labeltemplate for each label in said series of labels according to apredetermined label ordering; and inserting the k characters of eachsuccessive one of said n*m indicia in the corresponding writableinformation fields of successive individual label templates.
 47. Themethod of claim 46 wherein said step of generating comprises:generatingn*m sets of indicia, each of said sets of indicia corresponding to bothhuman readable and machine readable entries in said indicia fields onone of said labels in said series, according to a predetermined labelidentification ordering to individually identify each label.
 48. Themethod of claim 46 wherein said step of generating comprises:generatingn*m sets of indicia, each of said sets of indicia corresponding toentries in said indicia fields on one of said labels in said serieswhere said entries consist of two duplicate indicia in content butdifferent in form, according to a predetermined label identificationordering to individually identify each label.
 49. Apparatus forautomatically producing a series of labels, said set consisting of aplurality of labels, all of which uniquely identify a single entity,each label containing indicia individual to said label comprising:one ormore processor means, each of which includes: means for defining a setof label templates, said set of label templates consisting of aplurality of label templates, each label template having at least onewritable indicia field; means for automatically generating a single setof indicia, said single set of indicia including at least one indiciathat uniquely identifies said single entity; means for inserting datarepresentative of a one of said at least one indicia into each saiddefined label template for each label in said series of labels accordingto a predetermined label ordering; means for combining said labeltemplate and said generated indicia; means for printing said combinedtemplate and indicia, including:printer apparatus for printing labels ona label medium; means for converting said combined template and indiciainto printer control signals; means for transmitting said printercontrol signals to said printer apparatus.
 50. A method forautomatically producing a series of labels in an apparatus that includesone or more processor, said set consisting of a plurality of labels, allof which uniquely identify a single entity, each label containingindicia individual to said label comprising the steps of:defining a setof label templates, said set of label templates consisting of aplurality of label templates, each label template having at least havingat least one writable indicia field; automatically generating a singleset of indicia, said single set of indicia including at least oneindicia that uniquely identifies said single entity; inserting datarepresentative of a one of said at least one indicia into each saiddefined label template for each label in said series of labels accordingto a predetermined label ordering; combining said label template andsaid generated indicia; printing said combined template and indicia, onprint media using a printer apparatus; converting said combined templateand indicia into printer control signals; transmitting said printercontrol signals to said printer apparatus.
 51. The apparatus of claim 1wherein said indicia generating means comprises:means for automaticallygenerating n sets of indicia, wherein each set of indicia is orderedaccording to a user-defined ordering, where n is a positive integer atleast equal to
 1. 52. The apparatus of claim 51 wherein said datagenerating means comprises:means for storing m sets of data, each ofsaid m sets of data defining a label template having at least onewritable indicia field, where m is a positive integer greater than 1.53. The apparatus of claim 52 wherein said producing meanscomprises:means, responsive to said generating means and said m sets ofdata, for producing m individually identified labels for each of said nsets of indicia received from said generating means.
 54. The apparatusof claim 1 wherein said producing means comprises:means forautomatically printing said individually identified label on to labelmedia.
 55. The apparatus of claim 1 wherein said producing meanscomprises:means for inserting each of said subsets of indicia,individual to each label in said set of labels, into said at least onewritable indicia fields for each label in said set of labels; and meansfor automatically printing each of said individually identified labelsin said set of labels on to label media.
 56. The method of claim 10wherein said step of indicia generating comprises:automaticallygenerating n sets of indicia, wherein each set of indicia is orderedaccording to a user-defined ordering, where n is a positive integer atleast equal to
 1. 57. The method of claim 56 wherein said step of datagenerating comprises:storing m sets of data, each of said m sets of datadefining a label template having at least one writable indicia field,where m is a positive integer greater than
 1. 58. The method of claim 57wherein said step of producing comprises:producing m individuallyidentified labels for each of said n sets of indicia received from saidstep of generating.
 59. The method of claim 10 wherein said step ofproducing comprises:automatically printing said individually identifiedlabel on to label media.
 60. The method of claim 10 wherein said step ofproducing comprises:inserting each of said subsets of indicia,individual to each label in said set of labels, into said at least onewritable indicia fields for each label in said set of labels; andautomatically printing each of said individually identified labels insaid set of labels on to label media.